package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.valid.ValidInsertGroup;
import com.ruoyi.common.valid.ValidUpdateGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * @Description TODO
 * @ClassName BsZhusuRoom
 * @Author kenn
 * @Version 1.0.0
 * @Date 2023年10月18日 09:48:00
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("bs_zhusu_room")
@ApiModel(value = "住宿管理-房间信息字段")
public class BsZhusuRoom extends BaseEntity {

    @TableId
    @ApiModelProperty("主键id")
    @NotNull(message = "主键id不能为空", groups = {ValidUpdateGroup.class})
    private Long id;

    @ApiModelProperty("房间名称")
    @NotBlank(message = "房间名称不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private String roomName;

    @ApiModelProperty("原价")
    @NotNull(message = "原价不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private BigDecimal originalPrice;

    @ApiModelProperty("现价")
    @NotNull(message = "现价不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private BigDecimal currentPrice;

    @ApiModelProperty("人数限制")
    @NotNull(message = "人数限制不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer numberLimit;

    @ApiModelProperty("床型")
    @NotBlank(message = "床型不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private String bedType;

    @ApiModelProperty("房间类型")
    @NotBlank(message = "房间类型不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private String roomType;

    @ApiModelProperty("是否有牙刷（0：无 1：有）")
    @NotNull(message = "是否有牙刷不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isToothbrush;

    @ApiModelProperty("是否有牙膏（0：无 1：有）")
    @NotNull(message = "是否有牙膏不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isToothpaste;

    @ApiModelProperty("是否有梳子（0：无 1：有）")
    @NotNull(message = "是否有梳子不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isComb;

    @ApiModelProperty("是否有沐浴露（0：无 1：有）")
    @NotNull(message = "是否有沐浴露不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isShowerGel;

    @ApiModelProperty("是否有洗发水（0：无 1：有）")
    @NotNull(message = "是否有洗发水不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isShampoo;

    @ApiModelProperty("是否有纯净水（0：无 1：有）")
    @NotNull(message = "是否有纯净水不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isPurifiedWater;

    @ApiModelProperty("是否有漱口水（0：无 1：有）")
    @NotNull(message = "是否有漱口水不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isMouthwash;

    @ApiModelProperty("是否有水乳（0：无 1：有）")
    @NotNull(message = "是否有水乳不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isSkinfood;

    @ApiModelProperty("是否有精华（0：无 1：有）")
    @NotNull(message = "是否有精华不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isEssence;

    @ApiModelProperty("是否有护发素（0：无 1：有）")
    @NotNull(message = "是否有护发素不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isHairConditioner;

    @ApiModelProperty("是否有电视机（0：无 1：有）")
    @NotNull(message = "是否有电视机不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isTv;

    @ApiModelProperty("是否有电脑（0：无 1：有）")
    @NotNull(message = "是否有电脑不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isComputer;

    @ApiModelProperty("是否有投影仪（0：无 1：有）")
    @NotNull(message = "是否有投影仪不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isProjector;

    @ApiModelProperty("是否有窗（0：无 1：有）")
    @NotNull(message = "是否有窗不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isWindow;

    @ApiModelProperty("是否有早餐（0：无 1：有）")
    @NotNull(message = "是否有早餐不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isBreakfast;

    @ApiModelProperty("是否有拖鞋（0：无 1：有）")
    @NotNull(message = "是否有拖鞋不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isSlippers;

    @ApiModelProperty("是否有浴室（0：无 1：有）")
    @NotNull(message = "是否有浴室不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isBathroom;

    @ApiModelProperty("是否有卫生间（0：无 1：有）")
    @NotNull(message = "是否有卫生间不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isToilet;

    @ApiModelProperty("是否有吹风机（0：无 1：有）")
    @NotNull(message = "是否有吹风机不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isAirBlower;

    @ApiModelProperty("是否有浴缸（0：无 1：有）")
    @NotNull(message = "是否有浴缸不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isBathtub;

    @ApiModelProperty("是否有空调（0：无 1：有）")
    @NotNull(message = "是否有空调不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isAircondition;

    @ApiModelProperty("是否有新风（0：无 1：有）")
    @NotNull(message = "是否有新风不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isFreshAir;

    @ApiModelProperty("是否有烤箱（0：无 1：有）")
    @NotNull(message = "是否有烤箱不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isOven;

    @ApiModelProperty("是否有微波炉（0：无 1：有）")
    @NotNull(message = "是否有微波炉不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isMicrowaveOven;

    @ApiModelProperty("是否有电磁炉（0：无 1：有）")
    @NotNull(message = "是否有电磁炉不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Integer isInductionCooker;

    @ApiModelProperty("房间图片")
    @NotBlank(message = "房间图片不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private String roomImg;

    @ApiModelProperty("逻辑删除字段 0：正常 1：删除")
    private String delFlag;

    @ApiModelProperty("关联住宿id")
    @NotNull(message = "关联住宿id不能为空", groups = {ValidInsertGroup.class, ValidUpdateGroup.class})
    private Long zhusuId;

    @ApiModelProperty("关联住宿名称")
    @TableField(exist = false)
    private String zhusuName;

    @ApiModelProperty("房间类型")
    @TableField(exist = false)
    private String roomTypeName;

    @ApiModelProperty("床型")
    @TableField(exist = false)
    private String bedTypeName;

}
